import request from '@/utils/request'

/**
 * 添加评论
 * @param {Object} comment - 评论信息
 * @returns {Promise} - 请求结果
 */
export function addComment(comment) {
  return request({
    url: '/comments/add',
    method: 'post',
    data: comment
  })
}

/**
 * 根据商品ID查询评论列表
 * @param {Number} spuId - 商品ID spuId
 * @param {Number} page - 页码
 * @param {Number} pageSize - 每页大小
 * @returns {Promise} - 请求结果
 */
export function getCommentsBySpuId(spuId, page = 1, pageSize = 10) {
  return request({
    url: `/comments/spu/${spuId}`,
    method: 'get',
    params: {
      page,
      pageSize
    }
  })
}

/**
 * 根据查询用户评论列表
 * @param {Number} page - 页码
 * @param {Number} pageSize - 每页大小
 * @returns {Promise} - 请求结果
 */
export function getCommentsByUserId(page = 1, pageSize = 10) {
  return request({
    url: `/comments/user`,
    method: 'get',
    params: {
      page,
      pageSize
    }
  })
}

/**
 * 更新评论状态
 * @param {Number} id - 评论ID
 * @param {Number} status - 状态
 * @returns {Promise} - 请求结果
 */
export function updateCommentStatus(id, status) {
  return request({
    url: `/comments/status/${id}`,
    method: 'post',
    params: {
      status
    }
  })
}

/**
 * 删除评论
 * @param {Number} id - 评论ID
 * @returns {Promise} - 请求结果
 */
export function deleteComment(id) {
  return request({
    url: `/comments/delete/${id}`,
    method: 'post'
  })
}

/**
 * 管理员查询评论列表
 * @param {Object} params - 查询参数
 * @returns {Promise} - 请求结果
 */
export function getAdminCommentList(params) {
  return request({
    url: '/comments/jiang/list',
    method: 'get',
    params
  })
}

/**
 * 管理员审核评论
 * @param {Number} id - 评论ID
 * @param {Number} status - 状态(1:通过, 2:拒绝)
 * @returns {Promise} - 请求结果
 */
export function reviewComment(id, status) {
  return request({
    url: `/comments/jiang/review/${id}`,
    method: 'post',
    params: {
      status
    }
  })
}
